 <?php

class ClienteController extends Controller
{


	public $layout = '//layouts/column2';

    public function actionView($id)
    {
        $this->render('view',array(
            'model'=>$this->loadCliente($id),
        ));
    }
	
    public function actionViewUser($user)
    {
		$model= Usuario::model()->findByAttributes(array('usuario'=>$user));
		$model = Cliente::model()->findByAttributes(array('idUsuario'=>$model->idUsuario));
        $this->render('view',array(
            'model'=>$this->loadCliente($model->idCliente),
        ));
    }


	
	public function actionRegistrarCliente($id)
	{
	
		$model=new Cliente;

		if(isset($_POST['Cliente']))
		{
			$model->attributes=$_POST['Cliente'];
			
			// asignar las sgts observaciones y usuario a modelo cliente
			$model->observaciones = 'Cliente creado Online'; 
			$model->idUsuario = $id;
			
			//salvar el nuevo modelo en BD
			if($model->save()){
				
				//redirigir a registrar preguntas de seguridad
				$this->redirect(array('cliente/registrarPreguntas', 'id'=>$model->idCliente));
				exit;	
			}
		}
		
		//asigna a un modelo nuevo el pk id recibido de registrarUsuario con el usuario creado
		$model->idUsuario = $id;
		$this->render('registrarCliente',array('model'=>$model));
	}
	
	public function actionRegistrarPreguntas($id){
		
		$model = new Preguntaseguridad;
		
		if(isset($_POST['Preguntaseguridad']))
		{	
			$model->attributes= $_POST['Preguntaseguridad'];
			
			if($model->save()){

				$newRelacion= new Clientepreguntaseguridad;
				$newRelacion->idCliente = $id;
				$newRelacion->idPreguntaSeguridad = $model->idPreguntaSeguridad;
				
				if($newRelacion->save()){
			
					//redirigir a registrar preguntas de seguridad
					$this->render('registroExitoso',
								   array(
								         'model'=>Cliente::model()->findByPk($newRelacion->idCliente)));
					exit;
				}
			}
		}
		$this->render('registrarPreguntas',array('model'=>$model, 'id'=>$id));
	}
	
	public function loadCliente($id)
	{
		$model=Cliente::model()->findByPk($id);
		if($model===null)
			return null;
		return $model;
	}
	
	
    /**
     * Performs the AJAX validation.
     * @param CModel the model to be validated
     */
    protected function performAjaxValidation($model)
    {
        if(isset($_POST['ajax']) && $_POST['ajax']==='cliente-form')
        {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }
    }
	
    /**
     * @return array action filters
     */
    public function filters()
    {
        return array(
            'accessControl', // perform access control for CRUD operations
            'postOnly + delete', // we only allow deletion via POST request
        );
    }

    /**
     * Specifies the access control rules.
     * This method is used by the 'accessControl' filter.
     * @return array access control rules
     */
    public function accessRules()
    {
        return array(
            array('allow',  // allow all users to perform 'index' and 'view' actions
                'actions'=>array('index','view','registrarCliente','registrarPreguntas'),
                'users'=>array('*'),
            ),
            array('allow', // allow authenticated user to perform 'create' and 'update' actions
                'actions'=>array('create','update','viewUser'),
                'users'=>array('@'),
            ),
            array('allow', // allow admin user to perform 'admin' and 'delete' actions
                'actions'=>array('admin','delete'),
                'users'=>array('admin'),
            ),
            array('deny',  // deny all users
                'users'=>array('*'),
            ),
        );
    }
}